﻿Imports DTO
Imports DAL

Public Class ProdutoBLL

#Region "Métodos"

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <remarks></remarks>
    Sub Incluir(produto As ProdutoDTO)
        Dim dalProduto As New ProdutoDAL
        Dim dtoProduto As New ProdutoDTO
        Try
            dtoProduto = dalProduto.Consultar(produto.pNome)
            If IsNothing(dtoProduto) Then
                dalProduto.Incluir(produto)
            End If

        Catch ex As Exception
            Throw ex
        End Try

    End Sub

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <remarks></remarks>
    Sub Alterar(produto As ProdutoDTO)
        Dim dalProduto As New ProdutoDAL

        Try
            dalProduto.Alterar(produto)
        Catch ex As Exception
            Throw ex
        End Try
    End Sub

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="codigo"></param>
    ''' <remarks></remarks>
    Sub Excluir(codigo As Integer)
        Dim dalProduto As New ProdutoDAL
        Try
            dalProduto.Excluir(codigo)
        Catch ex As Exception
            Throw ex
        End Try
    End Sub

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="nomeProduto"></param>
    ''' <remarks></remarks>
    Function Consultar(nomeProduto As String) As ProdutoDTO
        Dim dalProduto As New ProdutoDAL
        Dim objProduto As New ProdutoDTO

        Try
            objProduto = dalProduto.Consultar(nomeProduto)
            Return objProduto
        Catch ex As Exception
            Throw ex

            objProduto = Nothing
            Return objProduto
        End Try
    End Function

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function Listar() As List(Of ProdutoDTO)
        Dim dtoProduto As List(Of ProdutoDTO)
        Dim dalProduto As New ProdutoDAL

        Try

            dtoProduto = dalProduto.Listar()
            Return dtoProduto
        Catch ex As Exception
            Throw ex
        End Try
    End Function


    Function ConsultarPorCategoria(categoria As String) As List(Of ProdutoDTO)
        Dim dalProduto As New ProdutoDAL
        Dim objProduto As New List(Of ProdutoDTO)

        Try
            objProduto = dalProduto.ConsultarPorCategoria(categoria)
            Return objProduto
        Catch ex As Exception
            Throw ex

            objProduto = Nothing
            Return objProduto
        End Try
    End Function

    Function ConsultarPorCodigo(codigo As Integer) As List(Of ProdutoDTO)
        Dim dalProduto As New ProdutoDAL
        Dim objProduto As New List(Of ProdutoDTO)

        Try
            objProduto = dalProduto.ConsultarPorCodigo(codigo)
            Return objProduto
        Catch ex As Exception
            Throw ex

            objProduto = Nothing
            Return objProduto
        End Try
    End Function

#End Region
End Class
